home *** CD-ROM | disk | FTP | other *** search
/ Amiga CD-ROM Collection / Amiga CD-ROM Collection - Auge 4000 and Cactus and Demo Util.iso / auge4000 / 46 / lib / memory / malloc.c < prev    next >
C/C++ Source or Header  |  1990-06-20  |  515b  |  38 lines

  1.  
  2. /*
  3.  *  MALLOC.C
  4.  *
  5.  *  (c)Copyright 1990, Matthew Dillon, All Rights Reserved
  6.  */
  7.  
  8. #include <exec/types.h>
  9. #include <exec/memory.h>
  10. #include <stdlib.h>
  11. #include <errno.h>
  12.  
  13. extern long *__MemList;
  14.  
  15. extern void *AllocMem();
  16.  
  17. void *
  18. malloc(bytes)
  19. size_t bytes;
  20. {
  21.     long *ptr;
  22.  
  23.     if (bytes == 0)
  24.     return(NULL);
  25.  
  26.     ptr = AllocMem(bytes + 8, MEMF_PUBLIC);
  27.     if (ptr) {
  28.     ptr[0] = (long *)__MemList;
  29.     __MemList = ptr;
  30.     ptr[1] = bytes + 8;
  31.     ptr += 2;
  32.     } else {
  33.     errno = ENOMEM;
  34.     }
  35.     return((void *)ptr);
  36. }
  37.  
  38.